home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1995-11-06 | 2.4 KB | 99 lines |
- 10 'SPEEDTD - Speed, Time & Distance - 13 SEP 86 rev. 06 NOV 95
- 20 IF EX$=""THEN EX$="EXIT"
- 30 CLS:KEY OFF
- 40 L$=STRING$(80,205)
- 50 P$="#########,###.###"
- 60 '
- 70 '.....start
- 80 CLS
- 90 S=0:T=0:D=0
- 100 COLOR 15,1,5
- 110 PRINT " SPEED, TIME & DISTANCE";TAB(61)"by George C. Murphy ";
- 120 COLOR 5,0:PRINT STRING$(80,223);
- 130 COLOR 7,0
- 140 PRINT " Press number in < > to:"
- 150 PRINT L$;
- 160 PRINT " < 1 > RUN program"
- 170 PRINT " < 0 > EXIT"
- 180 Z$=INKEY$:IF Z$="0"THEN CLS:RUN EX$
- 190 IF Z$="1"THEN 200 ELSE 180
- 200 GOSUB 540
- 210 PRINT " Press letter in < > to select Unit of Distance:"
- 220 PRINT L$;
- 230 PRINT " < a > Millimetre"
- 240 PRINT " < b > Centimetre"
- 250 PRINT " < c > Inch"
- 260 PRINT " < d > Foot"
- 270 PRINT " < e > Metre"
- 280 PRINT " < f > Kilometre"
- 290 PRINT " < g > Statute mile"
- 300 PRINT " < h > Nautical mile"
- 310 Z$=INKEY$:IF Z$=""THEN 310
- 320 IF Z$="a"THEN D$="mm."
- 330 IF Z$="b"THEN D$="cm."
- 340 IF Z$="c"THEN D$="in."
- 350 IF Z$="d"THEN D$="ft."
- 360 IF Z$="e"THEN D$="m."
- 370 IF Z$="f"THEN D$="km."
- 380 IF Z$="g"THEN D$="stat.miles."
- 390 IF Z$="h"THEN D$="naut.miles."
- 400 IF ASC(Z$)>=97 AND ASC(Z$)<=104 THEN 420
- 410 GOTO 310
- 420 PRINT L$;
- 430 PRINT " Press letter in < > to select unit of time:"
- 440 PRINT L$;
- 450 PRINT " < h > Hour"
- 460 PRINT " < m > Minute"
- 470 PRINT " < s > Second"
- 480 Z$=INKEY$:IF Z$="h"THEN T$="hr.":GOTO 520
- 490 IF Z$="m"THEN T$="min.":GOTO 520
- 500 IF Z$="s"THEN T$="sec.":GOTO 520
- 510 GOTO 480
- 520 GOSUB 540:GOTO 580
- 530 '
- 540 FOR I=3 TO CSRLIN:LOCATE I:PRINT STRING$(80,32);:NEXT I:LOCATE 3:RETURN
- 550 '
- 560 PRINT " ENTER: ";STRING$(30,"."):RETURN
- 570 '
- 580 IF D THEN 620
- 590 GOSUB 560:LOCATE CSRLIN-1,9:PRINT "Distance (";D$;")";
- 600 LOCATE CSRLIN,41:INPUT D
- 610 IF D THEN IF S+T THEN 720
- 620 IF S THEN 660
- 630 GOSUB 560:LOCATE CSRLIN-1,9:PRINT "Speed (";D$;"/";T$;")";
- 640 LOCATE CSRLIN,41:INPUT S
- 650 IF S THEN IF D+T THEN 720
- 660 IF T THEN 580
- 670 GOSUB 560:LOCATE CSRLIN-1,9:PRINT "Time (";T$;")";
- 680 LOCATE CSRLIN,41:INPUT T
- 690 IF T THEN IF D+S THEN 720
- 700 GOTO 580
- 710 '
- 720 IF D*S THEN T=D/S:GOTO 750
- 730 IF D*T THEN S=D/T:GOTO 750
- 740 IF S*T THEN D=S*T:GOTO 750
- 750 IF T$="sec." THEN TS=T:TM=T/60:TH=T/3600:GOTO 780
- 760 IF T$="min." THEN TS=T*60:TM=T:TH=T/60:GOTO 780
- 770 IF T$="hr." THEN TS=T*3600:TM=T*60:TH=T:GOTO 780
- 780 GOSUB 540:LOCATE 3
- 790 HR=INT(TS/3600):BAL=TS-HR*3600
- 800 MIN=INT(BAL/60):SEC=BAL-MIN*60
- 810 SIC=INT(SEC):BAL=SEC-SIC
- 820 MIN$=RIGHT$(STR$(MIN),LEN(STR$(MIN))-1)
- 830 IF LEN(MIN$)<2 THEN MIN$="0"+MIN$:GOTO 830
- 840 SIC$=RIGHT$(STR$(SIC),LEN(STR$(SIC))-1)
- 850 IF LEN(SIC$)<2 THEN SIC$="0"+SIC$:GOTO 850
- 860 PRINT " SPEED";USING P$;S;:PRINT " ";D$;"/";T$
- 870 PRINT L$;
- 880 PRINT " TIME ";USING "#########,###";HR;
- 890 PRINT ":";MIN$;":";SIC$;
- 900 PRINT USING ".###";BAL
- 910 PRINT " =";USING P$;TH;:PRINT " hr.
- 920 PRINT " =";USING P$;TM;:PRINT " min.
- 930 PRINT " =";USING P$;TS;:PRINT " sec.
- 940 PRINT L$;
- 950 PRINT " DIST.";USING P$;D;:PRINT " ";D$
- 960 PRINT L$;
- 970 PRINT " Press any key to return to menu......
- 980 IF INKEY$=""THEN 980 ELSE 10
-